package monopoli.game;

import java.util.ArrayList; 
import monopoli.*;
import java.util.Random;




public class Giocatore {
    
    private int id;
    private int idOrdine;
    
    private Giocatore next = this;

    private boolean token = false;




    public Giocatore getNext() {
        return next;
    }

    public void setNext(Giocatore next) {
        this.next = next;
    }

    public int getIdOrdine() {
        return idOrdine;
    }

    public void setIdOrdine(int idOrdine) {
        this.idOrdine = idOrdine;
    }

    private String nome;

    private ArrayList<Proprieta> proprieta;

    

    private ArrayList<Banconota> banconote;

    private Pedina pedina;

    public Giocatore () {

        nome= new String();
        //soldi
        Banca b = Monopoli.getMonopoliPartita().getBanca();
        banconote =  b.creaSoldi();
        b.spostaBanconote(10, 100, b.getBanconoteLista(), banconote);
        b.spostaBanconote(10, 1000, b.getBanconoteLista(), banconote);
        b.spostaBanconote(10, 5000, b.getBanconoteLista(), banconote);
        b.spostaBanconote(10, 10000, b.getBanconoteLista(), banconote);
        b.spostaBanconote(10, 50000, b.getBanconoteLista(), banconote);
        this.setBanconote(banconote);
        b.stampaSoldi(banconote);
        b.stampaSoldi(b.getBanconoteLista());
        pedina = new Pedina(0);
        proprieta = new ArrayList<Proprieta>();
    }
    
    public void inizializza() {

        //imposto l'id del giocatore
        Random generator = new Random();
        this.setId(Math.abs(generator.nextInt()));


        
    }


    public void setId(int i) {
        id = i;
    }
    
    public int getId() {
        return id;
    }
    
    public void setNome(String s) {
        nome = s;
    }
    
    public String getNome() {
        return nome;
    }
    
    public ArrayList<Banconota> getBanconote () {
        return banconote;
    }

    public void setBanconote (ArrayList<Banconota> val) {
        this.banconote = val;
    }



    public Pedina getPedina () {
        return pedina;
    }

    public void setPedina (Pedina val) {
        this.pedina = val;
    }

    public ArrayList<Proprieta> getProprieta () {
        return proprieta;
    }

    public void setProprieta (ArrayList<Proprieta> val) {
        this.proprieta = val;
    }

}

